PSR-1 minimale codeerstandaard
Home

PSR-1 minimale codeerstandaard

PSR-1 minimale codeerstandaard

Dit gedeelte van de standaard bevat de minimale codeerstandaard die een zeker niveau van technische interoperabiliteit tussen gedeelde PHP-code garandeert.

Bronnen

PSR-1: Basic Coding Standard

Overzicht

SR-1 is de eerste stap naar het schrijven van code die compatibel is met de community standaarden. Waarschijnlijk gebruiken jullie het allemaal al zonder het te beseffen. PSR-1 zijn richtlijnen die gemakkelijk te implementeren zijn:

  1. PHP-tags: PHP-code staat in de <?php ?> of <?= ?> tags. Gebruik alleen de <?php en <?= tags.
  2. Encoderen: elk PHP-bestand moet geëncodeerd worden met de UTF-8 character set zonder een byte order mark (BOM)
    1. Wordt meestal automatisch gedaan door de text-editor of IDE
  3. Objective: een php-bestand kan ofwel ‘symbolen’ definieren zoals een klasse, een trait, een functie,… ofwel kan het een actie ondernemen zoals bijvoorbeeld een output creëren of data manipuleren. Een php-bestand zou niet beide moeten doen. Je declareert in één bestand en je gebruikt wat je hebt gedeclareerd in een ander bestand.
  4. Autoloading: PHP-namespaces en klassen moeten de PSR-4 autoloader standaard ondersteunen
  5. Klassennamen moeten in pacalnotatie gedeclareerd worden:
    1. DitIsEenKlasse
  6. Klassenconstanten moeten gedeclareerd worden in hoofdletters. Gebruik het onderlijningsteken als scheidingsteken tussen de woorden:
    1. DIT_IS_EEN_CONSTANTE
  7. Methoden moeten in camelcasenotatie gedeclareerd worden:
    1. ditIsEenMethode

Wat doet BOM?

BOM wordt gebruikt om de gebruikte “endian” aan te duiden van een signaal. Aangezien de endianness bij UTF-8 niet nodig zijn, moet BOM niet gebruikt worden. (UTF-8 is onafhankelijk van de endianness van de computer)

BOM voegt een aantal karakters aan de file toe om aan te geven dat het een UTF-8 bestand is. Niet alle programma’s herkennen deze karakters.

UTF-8: manier van tekens op te slaan als een stroom van bytes à UTF-8 = tekencodering met variabele lengte (niet elk teken heeft evenveel bytes nodig)

JI
2015-12-13 00:39:20